// 导入Vue和SVG图标组件
import Vue from 'vue';
import SvgIcon from '@/components/SvgIcon'; // SVG图标组件

// 全局注册SVG图标组件
// 这样在任何地方都可以直接使用<svg-icon>标签而不需要单独导入
Vue.component('svg-icon', SvgIcon);

/**
 * 使用webpack的require.context自动加载所有SVG文件
 * 参数说明：
 * 1. './svg' - 要扫描的目录
 * 2. false - 是否扫描子目录
 * 3. /\.svg$/ - 匹配文件的正则表达式
 */
const req = require.context('./svg', false, /\.svg$/);

// 在 icons/index.js 或任意文件中
const svgFiles = require.context('./svg', false, /\.svg$/).keys();

// 输出格式: ["./icon1.svg", "./icon2.svg"]
console.log('SVG文件列表:', svgFiles);

// 如果需要更干净的文件名（去掉./和扩展名）
const iconNames = svgFiles.map(file =>
  file.replace(/^\.\/(.*)\.svg$/, '$1')
);
console.log('纯图标名列表:', iconNames);

/**
 * 批量导入SVG文件的函数
 * @param {Object} requireContext - require.context返回的上下文对象
 * @returns {Array} 返回所有导入的模块
 */
const requireAll = requireContext => requireContext.keys().map(requireContext);

// 执行批量导入
requireAll(req);
